package com.hsl.housaileibot001.service;

import com.hsl.housaileibot001.model.MockExamGenerationTask;

/**
 * 模拟题生成任务服务接口
 */
public interface MockExamGenerationTaskService {

    /**
     * 创建任务
     *
     * @param task 任务实体
     * @return 任务实体
     */
    MockExamGenerationTask createTask(MockExamGenerationTask task);

    /**
     * 根据任务ID查询任务
     *
     * @param taskId 任务ID
     * @return 任务实体
     */
    MockExamGenerationTask getTaskById(String taskId);

    /**
     * 更新任务状态
     *
     * @param taskId 任务ID
     * @param status 状态
     */
    void updateTaskStatus(String taskId, String status);

    /**
     * 增加已完成数
     *
     * @param taskId 任务ID
     */
    void incrementCompleted(String taskId);

    /**
     * 增加失败数
     *
     * @param taskId 任务ID
     */
    void incrementFailed(String taskId);

    /**
     * 完成任务
     *
     * @param taskId 任务ID
     */
    void completeTask(String taskId);

    /**
     * 任务失败
     *
     * @param taskId 任务ID
     * @param errorMessage 错误信息
     */
    void failTask(String taskId, String errorMessage);
}

